#include "ProcessPool.hpp"
#include <memory>
#include "Worker.hpp"
#include <chrono>
#include <ctime>

int main()
{
    // 获取当前时间点
    auto now = std::chrono::system_clock::now();
    // 转换为时间戳（秒级）
    auto timestamp = std::chrono::system_clock::to_time_t(now);

    std::cout << "当前时间戳: " << timestamp << std::endl;
    ns_TaskManger::TaskManger taskmanger;
    std::unique_ptr<ns_ProcessPool::ProcessPool> ptr = std::make_unique<ns_ProcessPool::ProcessPool>([&taskmanger](std::string &str)
                                                                                                     { return taskmanger.Worker(str); }, taskmanger.GetMap(), 10);

    ptr->InitProcessPool();
    ptr->DispatcherTask();
    // 获取当前时间点
    now = std::chrono::system_clock::now();
    // 转换为时间戳（秒级）
    timestamp = std::chrono::system_clock::to_time_t(now);

    std::cout << "当前时间戳: " << timestamp << std::endl;
    ptr->Distory();

    return 0;
}